<?php
// 应用公共文件

use Helper\StringHelper;
use Helper\NumberHelper;
use Helper\ArrayHelper;
use app\common\helper\FunctionHelper;
use Helper\DebugHelper;
use Helper\YaconfHelper;

/**
 * 加密密码
 * @param type $str
 * @return type
 */
function encrypt_password($str)
{
    return StringHelper::encryptPassword($str);
}

/**
 * 转化两位小数金额 (返回float)
 * @param $float double 金额
 * @param $size int 保留几位小数，默认2位
 * @param $clear boolean 是否清除右侧末尾的0
 * @return double or int
 */
function money_float($float, $size = 2, $div = 1)
{
    return NumberHelper::moneyFloat($float, $size, $div);
}


/**
 * @param $name
 * @param string $defualt
 * @return mixed
 */
function yaconf_app_get($name, $defualt = '')
{
    return YaconfHelper::getByAppName($name, $defualt);
}

/**
 * 获取
 * @param $name
 * @param string $defualt
 * @return mixed
 */
function yaconf_get($name, $defualt = '')
{
    return YaconfHelper::get($name, $defualt);
}


/**
 *  生成带该页面get的链接
 * @param string $str 控制器/方法
 * @param type 需要设置的get参数
 * @return url 生成的链接
 */
function merge_url($str, $arr = [], $method = "get.")
{
    return FunctionHelper::merge_url($str, $arr, $method);
}

/**
 * 检测是否是正整数
 * @param mixed $var 字符串或数组
 * @return bool
 */
function is_positive_int($var)
{
    return NumberHelper::isPositiveInt($var);
}

/**
 * 检测是否是空字符串
 * @param mixed $var 字符串或数组
 * @return bool
 */
function is_empty_string($var)
{
    return StringHelper::isEmptyString($var);
}

/**
 * 按照规则(默认值,部分提取)返回request数组
 * @param Array $rule 数组
 * <br>['field'=>'default_value']
 * @param string $request_method 获取方式 get,post,param(默认)
 * @return boole
 */
function input_extract_rule($rule, $request_method = '')
{
    return FunctionHelper::input_extract_rule($rule, $request_method);
}

/**
 * 获取当前请求的参数,支持索引数组
 * @access public
 * @param string|array $name 变量名
 * @param mixed $default 默认值
 * @param string|array $filter 过滤方法
 * @return mixed
 */
function input_param($name = '', $default = null, $filter = '')
{
    return FunctionHelper::input_param($name, $default, $filter);
}

/**
 * cookies加密函数
 * @param string 加密后字符串
 */
function encrypt($str)
{
    return StringHelper::encrypt($str);
}

/**
 * cookies 解密密函数
 * @param string 解密后数组
 */
function decrypt($str)
{
    return StringHelper::decrypt($str);
}

/**
 * 判断一个字符串在不在混合类型(数组,字符串)内
 * 字符串可以和str完全匹配,也可以用','号隔开
 * $str匹配或者真等于ture返回ture
 * @param $mixed
 * @param bool
 */
function checkMixedExist($mixed, $str)
{
    return FunctionHelper::checkMixedExist($mixed, $str);
}
